home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 37 / CD Expert nº 37.iso / LastCall / lastcall.exe / stuff / lastcall.dxr / 00076_Cash Register Behavior.ls < prev    next >
Encoding:
Text File  |  2000-03-27  |  1.7 KB  |  68 lines

  1. property pSpr, pDigit, pDecimal, pOldDigit, pNewDigit
  2.  
  3. on beginSprite me
  4.   global gPlayerTips
  5.   pSpr = sprite(me.spriteNum)
  6.   mUpdate(me, gPlayerTips, 1)
  7. end
  8.  
  9. on mUpdate me, newPrice, silent
  10.   if newPrice < 1000 then
  11.     displayTips = integer(newPrice * 100)
  12.   else
  13.     displayTips = integer(newPrice)
  14.   end if
  15.   newPrice = string(displayTips)
  16.   repeat while length(newPrice) < pDigit
  17.     put "0" before me
  18.   end repeat
  19.   newChar = newPrice.char[length(newPrice) + 1 - pDigit]
  20.   pNewDigit = integer(newChar)
  21.   pOldDigit = integer(pSpr.member.name)
  22.   if silent then
  23.     pOldDigit = pNewDigit
  24.     pSpr.member = member(string(pNewDigit))
  25.   else
  26.     addToActorList(pSpr)
  27.   end if
  28. end
  29.  
  30. on endSprite me
  31.   removeFromActorList(pSpr)
  32. end
  33.  
  34. on stepFrame me
  35.   global gRegisterBell, gStartRegisterSpr, gEndRegisterSpr
  36.   if inMenuMode() then
  37.     exit
  38.   end if
  39.   if pOldDigit < pNewDigit then
  40.     pSpr.member = member("Scrolling" && min(8, pOldDigit + 1))
  41.     pOldDigit = pOldDigit + 1
  42.   else
  43.     if pOldDigit > pNewDigit then
  44.       pSpr.member = member("Scrolling" && max(1, pOldDigit - 1))
  45.       pOldDigit = pOldDigit - 1
  46.     else
  47.       pSpr.member = member(string(pNewDigit))
  48.       removeFromActorList(pSpr)
  49.       repeat with X = gStartRegisterSpr to gEndRegisterSpr
  50.         if onActorList(sprite(X)) then
  51.           exit
  52.         end if
  53.       end repeat
  54.       if onActorList(gRegisterBell) then
  55.         exit
  56.       end if
  57.       gTipPending = 0
  58.       if beyondMaxTips() then
  59.         endOfLevel()
  60.       end if
  61.     end if
  62.   end if
  63. end
  64.  
  65. on getPropertyDescriptionList me
  66.   return [#pDecimal: [#format: #boolean, #default: 0, #comment: "Decimal?"], #pDigit: [#format: #integer, #range: [#min: 1, #max: 5], #comment: "Digit from right", #default: 1]]
  67. end
  68.